package com.yuandian.ops.workbench.service;

import com.yuandian.ops.workbench.po.AlarmListParams;
import com.yuandian.ops.workbench.po.StatusAlarmStatParams;
import com.yuandian.ops.workbench.vo.AlarmAnalysisVo;
import com.yuandian.ops.workbench.vo.AlarmTrendVo;
import com.yuandian.ops.workbench.vo.BusiStatusAlarmStatVo;
import com.yuandian.utils.PageDataInfo;

import java.util.List;

/**
 * 运维工作台 - 区域告警分析
 *
 * @Author pmx
 * @Date 2021/07/08
 */
public interface IAreaAlarmAnalysisService {

	/**
	 * 查询趋势图数据
	 * @param params 请求对象
	 * @return 返回对象
	 */
	List<BusiStatusAlarmStatVo> queryAreaTrend(StatusAlarmStatParams params);

	/**
	 * 查询健康度告警趋势图
	 * @param alarmListParams 请求对象
	 * @return 返回对象
	 */
	List<AlarmTrendVo> queryAlarmTrend(AlarmListParams alarmListParams);

	/**
	 * 查询当天历史列表
	 * @param alarmListParams 请求对象
	 * @return 返回对象
	 */
	PageDataInfo queryHistoryData(AlarmListParams alarmListParams);

	/**
	 * 查询区域告警详情
	 * @param alarmListParams 请求对象
	 * @return 返回对象
	 */
	AlarmAnalysisVo queryAlarmByArea(AlarmListParams alarmListParams);

	/**
	 * 区域-全系统详情
	 * @param params 请求对象
	 * @return 返回对象
	 */
	PageDataInfo querySystemStatByArea(StatusAlarmStatParams params);

	/**
	 * 查询区域-系统-全业务详情
	 * @param params 请求对象
	 * @return 返回对象
	 */
	PageDataInfo queryDataBySystem(StatusAlarmStatParams params);

	/**
	 * 失败数、告警数下钻详单列表
	 *
	 * @param params 请求对象
	 * @return 返回对象
	 */
	PageDataInfo alarmTypeToBusinessList(StatusAlarmStatParams params);


	/**
	 * 三级-地图下钻-历史告警列表下钻-关联告警列表
	 * @param params 请求对象
	 * @return 返回对象
	 */
	PageDataInfo alarmDetailListQuery(AlarmListParams params);
}
